Storing and retrieving information quickly and efficiently has conventionally been a challenge, for example, with respect to business tasks in companies. Further, user interaction with databases has conventionally been somewhat restrictive, as many users rely on database applications to interact with relational databases to store and retrieve information associated with objects included in the relational database. However, many users easily interact with conventional spreadsheets, as working with the two-dimensional view provided by rows and columns may enable the user to more easily access the data contained in the spreadsheet cells to manipulate the values, for example, by easily editing/updating the individual cell values. Further, users may easily add/delete rows and/or columns of conventional spreadsheets via simple interactive actions such as mouse movements, mouse clicks, and text entry. However, conventional spreadsheets may not provide convenient user access, for example, to relational database data.
With regard to conventional relational databases, records or database objects may be stored in tables based on a unique identifier for each record or object. Database entities may be related to each other via various relationships which may be reflected, for example, via columns having common names. For example, a “person” object may include a particular set of “person” attributes, and the “person” may include an “is-a” relationship with a “manager” entity. The “manager” may have a “manager-of” relationship with another “person” object. Thus, there may exist an object hierarchy such that a meaningful response to a query may require a navigation of an object tree which may involve retrieving objects at each node of the navigation, which may be very time-consuming.
For example, when a user submits a query to a relational database system, the database system may process the query by performing various operations on the tables in the database. The user, for example, may interact with an application that provides a display of the requests to queries as they are received from a database manager after processing.
A typical example user may prefer to view two-dimensional views of data as provided by conventional spreadsheets. However, conventional spreadsheets store the data in spreadsheet files that may be accessible only via activation of the spreadsheet application. Similarly, a user, for example, of a relational database may prefer a more user-friendly interaction with the relational database. Thus, it may be desirable to provide storage and retrieval techniques which improve a user's interactive experiences with spreadsheets and with databases.